package close.kenny.shell.controller
{
	import close.kenny.shell.model.LoginProxy;
	import close.kenny.shell.view.DesktopMediator;
	import close.kenny.shell.view.LWindowsContainerMediator;
	import close.kenny.shell.view.LoginMediator;
	import close.kenny.shell.view.RWindowsContainerMediator;
	import close.kenny.shell.view.ShellMediator;
	import close.kenny.shell.view.WindowsContainerMediator;
	
	import mx.controls.Alert;
	
	import org.puremvc.as3.multicore.interfaces.ICommand;
	import org.puremvc.as3.multicore.interfaces.INotification;
	import org.puremvc.as3.multicore.patterns.command.SimpleCommand;

	public class StartupCommand extends SimpleCommand implements ICommand
	{
		override public function execute(note:INotification):void
		{
			var shell:Shell = note.getBody() as Shell;	
			facade.registerMediator(new ShellMediator(shell));
			facade.registerMediator(new LoginMediator(shell.login));
			
			facade.registerProxy(new LoginProxy());
//			facade.registerMediator(new DesktopMediator(shell.desktop));
//			facade.registerMediator(new WindowsContainerMediator(shell.desktop.windowsContainer));
//			facade.registerMediator(new RWindowsContainerMediator(shell.desktop.rwindowsContainer));
//			facade.registerMediator(new LWindowsContainerMediator(shell.desktop.lwindowsContainer));
		}
	}
}